package com.powernode.service;

import com.powernode.domain.Prod;
import com.baomidou.mybatisplus.extension.service.IService;
import com.powernode.model.ChangeStock;

/**
 * <p>
 * 商品 服务类
 * </p>
 *
 * @author 付作巍
 * @since 2024-08-17
 */
public interface ProdService extends IService<Prod> {
    /**
     * 新增商品
     * @param prod 商品对象
     * @return
     */
    Boolean saveProd(Prod prod);

    /**
     * 根据标识查询商品信息
     * @param prodId 商品id
     * @return
     */
    Prod queryProdInfoByProdId(Long prodId);

    /**
     * 修改商品信息
     * @param prod 商品对象
     * @return
     */
    Boolean modifyProdInfo(Prod prod);

    /**
     * 根据商品标识批量或单个删除商品信息
     * @param prodId 商品标识
     * @return
     */
    Boolean removeProdById(Long prodId);

    /**
     * 小程序根据商品id查询商品详情
     * @param prodId 商品id
     * @return
     */
    Prod queryWxProdInfoByProdId(Long prodId);

    /**
     * 远程调用：修改商品prod和sku的库存数量，订单调用商品
     * @param changeStock prod和sku库存的对象
     * @return
     */
    Boolean changeProdAndSkuChangeStock(ChangeStock changeStock);
}
